﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Renci.Data.Interop.OpenGIS.Iso.tc211_2005.gco;

namespace Renci.Data.Interop.OpenGIS.Iso.tc211_2005.gmd
{
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.3038")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://www.isotc211.org/2005/gmd")]
    [System.Xml.Serialization.XmlRootAttribute("MD_ExtendedElementInformation", Namespace = "http://www.isotc211.org/2005/gmd", IsNullable = false)]
    public class MD_ExtendedElementInformation_Type : AbstractObject_Type
    {
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("name")]
        public CharacterString_PropertyType Name { get; set; }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("shortName")]
        public CharacterString_PropertyType ShortName { get; set; }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("domainCode")]
        public Integer_PropertyType DomainCode { get; set; }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("definition")]
        public CharacterString_PropertyType Definition { get; set; }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("obligation")]
        public MD_ObligationCode_PropertyType Obligation { get; set; }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("condition")]
        public CharacterString_PropertyType Condition { get; set; }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("dataType")]
        public MD_DatatypeCode_PropertyType DataType { get; set; }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("maximumOccurrence")]
        public CharacterString_PropertyType MaximumOccurrence { get; set; }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("domainValue")]
        public CharacterString_PropertyType DomainValue { get; set; }

        private System.Collections.ObjectModel.Collection<CharacterString_PropertyType> _parentEntity = new System.Collections.ObjectModel.Collection<CharacterString_PropertyType>();
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("parentEntity")]
        public System.Collections.ObjectModel.Collection<CharacterString_PropertyType> ParentEntity { get { return this._parentEntity; } }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("rule")]
        public CharacterString_PropertyType Rule { get; set; }

        private System.Collections.ObjectModel.Collection<CharacterString_PropertyType> _rationale = new System.Collections.ObjectModel.Collection<CharacterString_PropertyType>();
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("rationale")]
        public System.Collections.ObjectModel.Collection<CharacterString_PropertyType> Rationale { get { return this._rationale; } }

        private System.Collections.ObjectModel.Collection<CI_ResponsibleParty_PropertyType> _source = new System.Collections.ObjectModel.Collection<CI_ResponsibleParty_PropertyType>();
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("source")]
        public System.Collections.ObjectModel.Collection<CI_ResponsibleParty_PropertyType> Source { get { return this._source; } }
    }
}
